//package com.captjack.common.util.poi;
//
//import com.alibaba.excel.ExcelReader;
//import com.alibaba.excel.context.AnalysisContext;
//import com.alibaba.excel.event.AnalysisEventListener;
//import com.alibaba.excel.support.ExcelTypeEnum;
//import com.captjack.common.util.io.IoCommonUtil;
//import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
//
//import java.io.BufferedInputStream;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.util.ArrayList;
//import java.util.LinkedHashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * <p>
// * ----------------------------------------------------------------------------- <br>
// * project name ：micro-service <br>
// * function：EasyExcelUtils。。。。。 <br>
// * description：EasyExcelUtils。。。。。 <br>
// * ----------------------------------------------------------------------------- <br>
// * change history <br>
// * <table width="432" border="1">
// * <tr>
// * <td>version</td>
// * <td>time</td>
// * <td>author</td>
// * <td>change</td>
// * </tr>
// * <tr>
// * <td>1.0.0</td>
// * <td>2018/11/16 22:21</td>
// * <td>Jack Sparrow</td>
// * <td>create</td>
// * </tr>
// * </table>
// * <br>
// *
// * @author Jack Sparrow
// * @version 1.0.0
// * @date 2018/11/16 22:21
// * package com.captjack.common.util.poi
// */
//public final class EasyExcelUtils {
//
//    @SuppressWarnings("unchecked")
//    public static List<Map<Integer, Object>> readData(String filePath) throws Exception {
//        InputStream inputStream = null;
//        try {
//            inputStream = new BufferedInputStream(new FileInputStream(new File(filePath)));
//            // 返回结果
//            List<Map<Integer, Object>> result = new ArrayList<>(10000);
//            // 解析器
//            AnalysisEventListener analysisEventListener = new AnalysisEventListener() {
//                @Override
//                public void invoke(Object o, AnalysisContext analysisContext) {
//                    if (o instanceof List) {
//                        List<String> list = (List<String>) o;
//                        for (int i = 0; i < list.size(); i++) {
//                            int finalIndex = i;
//                            result.add(new LinkedHashMap<>() {{
//                                put(finalIndex, list.get(finalIndex));
//                            }});
//                        }
//                    }
//                }
//
//                @Override
//                public void doAfterAllAnalysed(AnalysisContext analysisContext) {
//                }
//            };
//            // 解析每行结果在listener中处理
//            ExcelReader excelReader = new ExcelReader(inputStream, filePath.endsWith(ExcelTypeEnum.XLSX.getValue()) ? ExcelTypeEnum.XLSX : ExcelTypeEnum.XLS, analysisEventListener, true);
//            excelReader.read();
//            return result;
//        } finally {
//            IoCommonUtil.closeStream(inputStream);
//        }
//    }
//
//    public static void main(String[] args) {
//        String filePath = "/Users/captjack/Desktop/错误.xlsx";
//        try {
//            long start = System.currentTimeMillis();
//            List<Map<Integer, Object>> total = readData(filePath);
//            System.out.println(total.size());
//            System.out.println(System.currentTimeMillis() - start);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    private EasyExcelUtils() {
//
//    }
//
//}
